package com.foreknow.demo11;

/**
 * 属性： 名字 name    2.腿 leNum
 * 创造构造器负责初始化
 *创建get/set方法
 * 创建抽象方法shout（）来输出动物叫声
 *
 *
 *
 *
 * Cat
 * 需要继承Animal并重新shout方法
 *
 * Duck
 * 需要继承Animal并重新shout方法
 *
 *
 * 输出
 * 动物名字   动物叫声
 * 加菲猫      喵喵
 * 加菲狗      汪汪
 *
 */
public abstract class Animal {
   private String name;
   private int legNum;


   public Animal(){

   }


   public Animal(String name,int legNum){
       this.name=name;
       this.legNum=legNum;
   }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getLegNum() {
        return legNum;
    }

    public void setLegNum(int legNum) {
        this.legNum = legNum;
    }




    //创建抽象的方法
    public abstract void shout();
    public static void main(String[] args) {

        Animal[] animal = new Animal[2];
        Animal a = new Cat("加菲狗",4);
        Animal a2 = new Duck("加菲猫",4);
        animal[0]= a;
        animal[1]=a2;

        for (int i = 0;i<animal.length;i++){
           Animal  bb= animal[i];
//            System.out.println(bb.getLegNum()+bb.getName());
            bb.shout();

        }


//        Animal animal = new Cat("加菲猫",4);
//
//        animal.shout();
//
//        animal  = new Duck("加非狗",2);
//        animal.shout();
    }
}
